iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
0
Modern Web

Django案例實作之踩坑全記錄系列 第 17

Django - redirect錯誤示範

  • 分享至 

  • xImage
  •  

發完昨天的文後發現好像對redirect有點誤會...所以又做了更改。

https://ithelp.ithome.com.tw/upload/images/20200917/201297255MbnnqcIrY.png

我原本從上圖官方文件得到的理解是把viewname放進redirect的第一個參數,這樣之後就會轉向result.html。

redirect('result', total=sum(total))

所以這邊的'result'我放的是viewfunction result,但runserver完有報錯:

Reverse for 'result' not found. 'result' is not a valid view function or pattern name.

Django說他找不到view result!?但說明提到pattern name,所以我就把quiz/urls.py加上name:

path('result/<int:total>', views.result, name='result'),

這樣是成功的。
後來再仔細看官方文件,粗略的意思是說redirect後台是由reverse所處理,而在reverse裡面除了放viewname也以放URL pattern name。

那原本說好的viewname?
直到估狗了無數篇文章,才驚見viewname不應該有引號包覆,但再回頭看第一張圖,官方文件明明寫**'some-view-name'**,有引號啊~~看來是我誤會了...不過也知道了還可以放URL pattern name,搞了半天 哈


上一篇
(二更)Django - template(二)
下一篇
Django - template(三)
系列文
Django案例實作之踩坑全記錄34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言